#include "comm.hpp"

int main()
{
    // 获取共享内存
    int shmid = GetShm();

    // 挂接
    char* shmadder = (char*)shmat(shmid,nullptr,0);
    if(shmadder == nullptr)
    {
        perror("shmat fail");
        exit(-1);
    }

    //sleep(100);

    // 通信(与prob)
    // while(1)
    // {
    //     char buff[100];
    //     cout<<"prob 输入：";
    //     fgets(buff,sizeof(buff),stdin);
    //     memcpy(shmadder,buff,strlen(buff) + 1);
    //     if(memcmp(shmadder,"quit",4) == 0)break;
    // }

    // 实验目的：当主动去shmctl销毁一块共享内存时，若有其它进程还挂接在这块共享内存，进程还能使用这块共享内存吗？
    int cnt = 0;
    while(1)
    {
        cout<<"prob 运行中"<<" "<<cnt++;
        sleep(1);
    }

    // 去关联
    shmdt(shmadder);

    return 0;
}